﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Aeroporto.modelo;
using System.Data;
using Npgsql;

namespace Aeroporto.bd
{
    class AeroportoDAO : GenericDAO
    {
        public bool update_dados(AeroportoModel aeroporto)
        {
            try
            {
                string sql = "update aeroporto set cod_icao = '" + aeroporto.Cod_icao + "', nome = '" + aeroporto.Nome + "', cidade = '" + aeroporto.Cidade + "',pais = '" + aeroporto.Pais + "' where cod_iata ='"+aeroporto.Cod_iata+"'";
                Conexao.consulta(sql);
                return true;
            }
            catch(Exception e){
                Arquivo.escrever(e.ToString());
            }
            return false;
        }

        /**
         * Realiza busca no banco de dados por tabela, coluna e nome
         **/
        public DataTable pesquisar_nome_cidade(string nome_cidade)
        {
            try
            {
                string sql = "select * from aeroporto where upper(nome) like '%" + nome_cidade.ToUpper() + "%'" + " or upper(cidade) like '%" + nome_cidade.ToUpper() + "%'" + " or upper(cod_iata) like '%" + nome_cidade.ToUpper() + "%'";
                Arquivo.escrever(sql);
                NpgsqlCommand command = new NpgsqlCommand(sql, Conexao.getConexao());
                NpgsqlDataAdapter da = new NpgsqlDataAdapter();
                da.SelectCommand = command;
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
            catch (Exception erro)
            {
                throw erro;
            }
        }
    }
}
